﻿using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Pay.Data;
using Pay.DTO;
using Pay.DTO.card;
using Pay.TO;

namespace Pay.IService {
	public interface ICardService {
		/// <summary>
		/// 银行列表
		/// </summary>
		/// <returns>The bank.</returns>
		Task<List<bank_resp>> GetBank();

		/// <summary>
		/// 银行卡主题列表
		/// </summary>
		/// <returns>The bank.</returns>
		Task<List<banktopic_resp>> GetBankTopic();

		/// <summary>
		/// 银行卡标签列表
		/// </summary>
		/// <returns>The bank topic.</returns>
		Task<List<banktag_resp>> GetBankTag();

		/// <summary>
		/// 银行卡通道列表
		/// </summary>
		/// <returns>The bank topic.</returns>
		Task<PagedResult<bank_card_resp>> GetBankCard(card_req model);

		/// <summary>
		/// 银行卡通道列表
		/// </summary>
		/// <returns>The bank card detail.</returns>
		/// <param name="id">卡种通道id.</param>
		Task<bank_carddetail_resp> GetBankCardDetail(long id);

		/// <summary>
		/// 保存申卡记录
		/// </summary>
		/// <returns>The bank card detail.</returns>
		/// <param name="model">Model.</param>
		Task<card_save_resp> Post(card_save_model model);

        /// <summary>
        /// 获取银行卡申请记录
        /// </summary>
        /// <returns>The bank card detail.</returns>
        /// <param name="orderNo">Model.</param>
        card_apply GetByOrderNo(string orderNo);

        /// <summary>
        /// 银行卡申请记录更新
        /// </summary>
        /// <returns>The bank card detail.</returns>
        /// <param name="update">Model.</param>
        int CardSuccess(card_update update);
    }
}
